package com.fans.admin.quartz.controller;

import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import com.fans.admin.quartz.entity.ScheduleJob;
import com.fans.admin.quartz.feign.ScheduleJobService;
import com.fans.common.base.BaseController;
import com.fans.common.utils.FansResp;

/**
 * 
 * @ClassName: scheduleJobController
 * @Description: 定时任务数据接口
 * @author fanhaohao
 * @date 2020年1月13日 下午4:07:22
 */
@RestController
@RequestMapping("/quartz/scheduleJob")
public class ScheduleJobController extends BaseController {
    @Autowired
	private ScheduleJobService scheduleJobService;
    
	/**
     * 
     * @Title：getById  
     * @Description: 根据id获取定时任务
     * @author: fanhaohao
     * @date 2020年1月13日 下午4:12:36 
     * @param @param id
     * @param @param request
     * @param @param response
     * @param @return 
     * @return FansResp 
     * @throws
     */
	@RequestMapping(value = "/getById", method = RequestMethod.GET)
	public FansResp getById(String id) {
		return scheduleJobService.getById(id);
	}

	/**
	 * 
	 * @Title：list  
	 * @Description: 分页获取定时任务数据
	 * @author: fanhaohao
	 * @date 2020年1月15日 下午4:03:18 
	 * @param @param scheduleJob
	 * @param @return 
	 * @return FansResp 
	 * @throws
	 */
	@RequestMapping(value = "/list", method = RequestMethod.GET)
	public FansResp list(ScheduleJob scheduleJob) {
		return scheduleJobService.list(scheduleJob);
	}
	
	/**
	 * 
	 * @Title：create  
	 * @Description: 添加角色信息
	 * @author: fanhaohao
	 * @date 2020年1月15日 下午4:30:52 
	 * @param @param scheduleJob
	 * @param @return 
	 * @return FansResp 
	 * @throws
	 */
	@RequestMapping(value = "/create", method = RequestMethod.POST)
	public FansResp create(@RequestBody Map<String, Object> entityMap) {
		return scheduleJobService.create(entityMap);
	}

	/**
	 * 
	 * @Title：update  
	 * @Description: 修改角色信息
	 * @author: fanhaohao
	 * @date 2020年1月15日 下午4:31:09 
	 * @param @param scheduleJob
	 * @param @return 
	 * @return FansResp 
	 * @throws
	 */
	@RequestMapping(value = "/update", method = RequestMethod.PUT)
	public FansResp update(@RequestBody Map<String, Object> entityMap) {
		return scheduleJobService.update(entityMap);
	}

	/**
	 * 
	 * @Title：delete  
	 * @Description: 角色信息删除
	 * @author: fanhaohao
	 * @date 2020年1月16日 上午9:46:29 
	 * @param @param ids
	 * @param @return 
	 * @return FansResp 
	 * @throws
	 */
	@RequestMapping(value = "/delete/{ids}", method = RequestMethod.DELETE)
	public FansResp delete(@PathVariable(value = "ids") String ids) {
		return scheduleJobService.delete(ids);	
	}

	/**
	 * 
	 * @Title：ServiceResultun  
	 * @Description: 执行定时任务
	 * @author: fanhaohao
	 * @date 2020年1月17日 下午1:53:21 
	 * @param @param entityMap
	 * @param @return 
	 * @return FansResp 
	 * @throws
	 */
	@RequestMapping(value = "/run", method = RequestMethod.POST)
	public FansResp run(@RequestBody Map<String, Object> entityMap) {
		return scheduleJobService.run(entityMap);
	}
	
	/**
	 * 
	 * @Title：ServiceResultun  
	 * @Description: 暂停定时任务
	 * @author: fanhaohao
	 * @date 2020年1月17日 下午1:53:21 
	 * @param @param entityMap
	 * @param @return 
	 * @return FansResp 
	 * @throws
	 */
	@RequestMapping(value = "/pause", method = RequestMethod.POST)
	public FansResp pause(@RequestBody Map<String, Object> entityMap) {
		return scheduleJobService.pause(entityMap);
	}
	
	/**
	 * 
	 * @Title：ServiceResultun  
	 * @Description: 恢复定时任务
	 * @author: fanhaohao
	 * @date 2020年1月17日 下午1:53:21 
	 * @param @param entityMap
	 * @param @return 
	 * @return FansResp 
	 * @throws
	 */
	@RequestMapping(value = "/resume", method = RequestMethod.POST)
	public FansResp resume(@RequestBody Map<String, Object> entityMap) {
		return scheduleJobService.resume(entityMap);
	}
}
